/**
 * 通用类型定义
 * 创建时间：2025-09-11
 * 作者：开发团队
 * 目的：定义系统通用数据类型
 */

// 用户角色类型
export type UserRole = 'guard' | 'admin' | 'superadmin'

// 核验结果类型
export type VerificationResult = 'pass' | 'reject'

// 特殊访客类型
export type SpecialVisitorType = 'VIP' | '纠纷' | '其他'

// 账号状态类型
export type AccountStatus = 'active' | 'disabled'

// 密钥状态类型
export type KeyStatus = 'active' | 'expired' | 'archived'

// 操作类型
export type ActionType = 
  | 'login' 
  | 'logout' 
  | 'create' 
  | 'update' 
  | 'delete' 
  | 'generate_key' 
  | 'verification'

// 通用API响应格式
export interface ApiResponse<T = unknown> {
  code: number
  message: string
  data?: T
  error?: string
  timestamp: string
}

// 分页请求参数
export interface PaginationParams {
  page?: number
  size?: number
}

// 分页响应数据
export interface PaginationResponse<T> {
  total: number
  page: number
  size: number
  items: T[]
}

// 日期范围查询参数
export interface DateRangeParams {
  start_date?: string
  end_date?: string
}

// 搜索参数
export interface SearchParams {
  search?: string
  [key: string]: unknown
}